KAFKA-19761 Gradle Shadow plugin version upgrade: 8.3.9 -->> 9.3.1#20866
KAFKA-19761 Gradle Shadow plugin version upgrade: 8.3.9 -->> 9.3.1#20866dejan2609 wants to merge 1 commit intoapache:trunkfrom
Conversation
|
@chia7712 Please review when you have some time. |
e96bddd to
1292e30
Compare
|
I'll rebase this onto trunk (to include a new, updated Gradle version into this branch/PR). |
1292e30 to
4543ec2
Compare
fcaf575 to
fbb1dc5
Compare
fbb1dc5 to
1354d5d
Compare
|
Hi @apoorvmittal10, Can you please allocate some time to provide a review ? |
1354d5d to
19bc87c
Compare
|
Gradle task that ends up with one failed test works as expected on my machine: 💡 I will try to execute entire test suite on Github Action CI server once more. |
19bc87c to
4196380
Compare
|
All tests are fine now ✅ @chia7712 can you allocate some time to review this one ? |
|
Thanks for the change and apologies for the delay! It may be because my expertise in Gradle is not my strong suit, but I would encourage you to give a brief overview of why all the changes in the PR are required! The real problem is that if we just bump Gradle Shadow from 8 to 9 we run into which appears to be because :core only has build/classes/scala while all other dependencies have build/classes/java and Gradle Shadow 9 appears to be more strict in requiring that directory to exist. I am a bit on the fence for this change. On one hand, I don't like depending on .sourceSets.test.output in some places in the build.gradle file and on configurations/artifacts in others. On the other hand, I also don't like generating an empty folder (i.e. build/classes/java) just to satisfy a stricter expectation. What are the opinions of others in the community? |
|
Hi @clolov and thanks for a review/comment ! You are rasing some valid questions here. But first: can you please share your environment details (thing is that Gradle build task |
I can relate with all of this @clolov. Thing is that Kafka Gradle build is complicated due to a fact that people want Kafka to perform various complicated things. And on top of that: dependencies versions just have to move forward: sooner or later this Shadow gradle plugin version will have to be bumped, one way or another. All-in-all, we can either choose to:
Open invitation to entire community: what is your take on this ? |
Rationale section is added into description above. |
The issue stems from Instead of working around it, I think it's better to refactor the JMH module and remove the dependency on core test output. This saves us the trouble of dealing with missing paths. I have opened https://issues.apache.org/jira/browse/KAFKA-20060 for this |
I concur with that @chia7712. Moving this PR into draft state. |
|
@dejan2609 #21310 is already merged, so please rebase code. thanks! |
70dac31 to
9267ac9
Compare
|
Done, PR is rebased. I did some smoke testing (https://kafka.apache.org/quickstart) and everything seems fine (messages can be produced and consumed). Notes/remarks:
@chia7712 let me know what do you think about this. |
9267ac9 to
dd57627
Compare
release notes: - https://docs.gradle.org/9.3.0/release-notes.html - https://docs.gradle.org/9.3.1/release-notes.html ℹ️ Notes: - done by-the-book (procedure mentioned here `gradle/wrapper/README.md` was followed) - it makes sense to merge this with Gradle Shadow plugin version upgrade: #20866 Reviewers: Chia-Ping Tsai <chia7712@gmail.com>

Prologue:
#19513 (comment)
💡 Rationale: Gradle 10 will be released in Q4 2026 or Q1 2027
and we can't expect that Shadow plugin version 8 will be compatible:
Release notes for Shadow plugin:
I did some testing, and results look just fine ✅:
./gradlew :jmh-benchmarks:shadowJarand./gradlew releaseTarGzare successfulkafka_2.13-4.3.0-SNAPSHOT-site-docs.tgz andand
kafka_2.13-4.3.0-SNAPSHOT.tgz) have identical file numbers (fortrunk and this branch)
https://kafka.apache.org/quickstart
disclaimer notes:solution is generated via Gemini CLIGemini prompt is based onJira ticket (previously created by me):KAFKA-19761